/*
 *  sbops.h
 *  p0laris
 *
 *  from doubleH3lix (@tihmstar)
 */

#ifndef sbops_h
#define sbops_h

struct mac_policy_ops {
	uint32_t mpo_audit_check_postselect;
	uint32_t mpo_audit_check_preselect;
	uint32_t mpo_bpfdesc_label_associate;
	uint32_t mpo_bpfdesc_label_destroy;
	uint32_t mpo_bpfdesc_label_init;
	uint32_t mpo_bpfdesc_check_receive;
	uint32_t mpo_cred_check_label_update_execve;
	uint32_t mpo_cred_check_label_update;
	uint32_t mpo_cred_check_visible;
	uint32_t mpo_cred_label_associate_fork;
	uint32_t mpo_cred_label_associate_kernel;
	uint32_t mpo_cred_label_associate;
	uint32_t mpo_cred_label_associate_user;
	uint32_t mpo_cred_label_destroy;
	uint32_t mpo_cred_label_externalize_audit;
	uint32_t mpo_cred_label_externalize;
	uint32_t mpo_cred_label_init;
	uint32_t mpo_cred_label_internalize;
	uint32_t mpo_cred_label_update_execve;
	uint32_t mpo_cred_label_update;
	uint32_t mpo_devfs_label_associate_device;
	uint32_t mpo_devfs_label_associate_directory;
	uint32_t mpo_devfs_label_copy;
	uint32_t mpo_devfs_label_destroy;
	uint32_t mpo_devfs_label_init;
	uint32_t mpo_devfs_label_update;
	uint32_t mpo_file_check_change_offset;
	uint32_t mpo_file_check_create;
	uint32_t mpo_file_check_dup;
	uint32_t mpo_file_check_fcntl;
	uint32_t mpo_file_check_get_offset;
	uint32_t mpo_file_check_get;
	uint32_t mpo_file_check_inherit;
	uint32_t mpo_file_check_ioctl;
	uint32_t mpo_file_check_lock;
	uint32_t mpo_file_check_mmap_downgrade;
	uint32_t mpo_file_check_mmap;
	uint32_t mpo_file_check_receive;
	uint32_t mpo_file_check_set;
	uint32_t mpo_file_label_init;
	uint32_t mpo_file_label_destroy;
	uint32_t mpo_file_label_associate;
	uint32_t mpo_ifnet_check_label_update;
	uint32_t mpo_ifnet_check_transmit;
	uint32_t mpo_ifnet_label_associate;
	uint32_t mpo_ifnet_label_copy;
	uint32_t mpo_ifnet_label_destroy;
	uint32_t mpo_ifnet_label_externalize;
	uint32_t mpo_ifnet_label_init;
	uint32_t mpo_ifnet_label_internalize;
	uint32_t mpo_ifnet_label_update;
	uint32_t mpo_ifnet_label_recycle;
	uint32_t mpo_inpcb_check_deliver;
	uint32_t mpo_inpcb_label_associate;
	uint32_t mpo_inpcb_label_destroy;
	uint32_t mpo_inpcb_label_init;
	uint32_t mpo_inpcb_label_recycle;
	uint32_t mpo_inpcb_label_update;
	uint32_t mpo_iokit_check_device;
	uint32_t mpo_ipq_label_associate;
	uint32_t mpo_ipq_label_compare;
	uint32_t mpo_ipq_label_destroy;
	uint32_t mpo_ipq_label_init;
	uint32_t mpo_ipq_label_update;
	uint32_t mpo_file_check_library_validation;
	uint32_t mpo_vnode_notify_setacl;
	uint32_t mpo_vnode_notify_setattrlist;
	uint32_t mpo_vnode_notify_setextattr;
	uint32_t mpo_vnode_notify_setflags;
	uint32_t mpo_vnode_notify_setmode;
	uint32_t mpo_vnode_notify_setowner;
	uint32_t mpo_vnode_notify_setutimes;
	uint32_t mpo_vnode_notify_truncate;
	uint32_t mpo_mbuf_label_associate_bpfdesc;
	uint32_t mpo_mbuf_label_associate_ifnet;
	uint32_t mpo_mbuf_label_associate_inpcb;
	uint32_t mpo_mbuf_label_associate_ipq;
	uint32_t mpo_mbuf_label_associate_linklayer;
	uint32_t mpo_mbuf_label_associate_multicast_encap;
	uint32_t mpo_mbuf_label_associate_netlayer;
	uint32_t mpo_mbuf_label_associate_socket;
	uint32_t mpo_mbuf_label_copy;
	uint32_t mpo_mbuf_label_destroy;
	uint32_t mpo_mbuf_label_init;
	uint32_t mpo_mount_check_fsctl;
	uint32_t mpo_mount_check_getattr;
	uint32_t mpo_mount_check_label_update;
	uint32_t mpo_mount_check_mount;
	uint32_t mpo_mount_check_remount;
	uint32_t mpo_mount_check_setattr;
	uint32_t mpo_mount_check_stat;
	uint32_t mpo_mount_check_umount;
	uint32_t mpo_mount_label_associate;
	uint32_t mpo_mount_label_destroy;
	uint32_t mpo_mount_label_externalize;
	uint32_t mpo_mount_label_init;
	uint32_t mpo_mount_label_internalize;
	uint32_t mpo_netinet_fragment;
	uint32_t mpo_netinet_icmp_reply;
	uint32_t mpo_netinet_tcp_reply;
	uint32_t mpo_pipe_check_ioctl;
	uint32_t mpo_pipe_check_kqfilter;
	uint32_t mpo_pipe_check_label_update;
	uint32_t mpo_pipe_check_read;
	uint32_t mpo_pipe_check_select;
	uint32_t mpo_pipe_check_stat;
	uint32_t mpo_pipe_check_write;
	uint32_t mpo_pipe_label_associate;
	uint32_t mpo_pipe_label_copy;
	uint32_t mpo_pipe_label_destroy;
	uint32_t mpo_pipe_label_externalize;
	uint32_t mpo_pipe_label_init;
	uint32_t mpo_pipe_label_internalize;
	uint32_t mpo_pipe_label_update;
	uint32_t mpo_policy_destroy;
	uint32_t mpo_policy_init;
	uint32_t mpo_policy_initbsd;
	uint32_t mpo_policy_syscall;
	uint32_t mpo_system_check_sysctlbyname;
	uint32_t mpo_proc_check_inherit_ipc_ports;
	uint32_t mpo_vnode_check_rename;
	uint32_t mpo_kext_check_query;
	uint32_t mpo_iokit_check_nvram_get;
	uint32_t mpo_iokit_check_nvram_set;
	uint32_t mpo_iokit_check_nvram_delete;
	uint32_t mpo_proc_check_expose_task;
	uint32_t mpo_proc_check_set_host_special_port;
	uint32_t mpo_proc_check_set_host_exception_port;
	uint32_t mpo_exc_action_check_exception_send;
	uint32_t mpo_exc_action_label_associate;
	uint32_t mpo_exc_action_label_populate;
	uint32_t mpo_exc_action_label_destroy;
	uint32_t mpo_exc_action_label_init;
	uint32_t mpo_exc_action_label_update;
	uint32_t mpo_reserved1;
	uint32_t mpo_reserved2;
	uint32_t mpo_reserved3;
	uint32_t mpo_reserved4;
	uint32_t mpo_skywalk_flow_check_connect;
	uint32_t mpo_skywalk_flow_check_listen;
	uint32_t mpo_posixsem_check_create;
	uint32_t mpo_posixsem_check_open;
	uint32_t mpo_posixsem_check_post;
	uint32_t mpo_posixsem_check_unlink;
	uint32_t mpo_posixsem_check_wait;
	uint32_t mpo_posixsem_label_associate;
	uint32_t mpo_posixsem_label_destroy;
	uint32_t mpo_posixsem_label_init;
	uint32_t mpo_posixshm_check_create;
	uint32_t mpo_posixshm_check_mmap;
	uint32_t mpo_posixshm_check_open;
	uint32_t mpo_posixshm_check_stat;
	uint32_t mpo_posixshm_check_truncate;
	uint32_t mpo_posixshm_check_unlink;
	uint32_t mpo_posixshm_label_associate;
	uint32_t mpo_posixshm_label_destroy;
	uint32_t mpo_posixshm_label_init;
	uint32_t mpo_proc_check_debug;
	uint32_t mpo_proc_check_fork;
	uint32_t mpo_proc_check_get_task_name;
	uint32_t mpo_proc_check_get_task;
	uint32_t mpo_proc_check_getaudit;
	uint32_t mpo_proc_check_getauid;
	uint32_t mpo_proc_check_getlcid;
	uint32_t mpo_proc_check_mprotect;
	uint32_t mpo_proc_check_sched;
	uint32_t mpo_proc_check_setaudit;
	uint32_t mpo_proc_check_setauid;
	uint32_t mpo_proc_check_setlcid;
	uint32_t mpo_proc_check_signal;
	uint32_t mpo_proc_check_wait;
	uint32_t mpo_proc_label_destroy;
	uint32_t mpo_proc_label_init;
	uint32_t mpo_socket_check_accept;
	uint32_t mpo_socket_check_accepted;
	uint32_t mpo_socket_check_bind;
	uint32_t mpo_socket_check_connect;
	uint32_t mpo_socket_check_create;
	uint32_t mpo_socket_check_deliver;
	uint32_t mpo_socket_check_kqfilter;
	uint32_t mpo_socket_check_label_update;
	uint32_t mpo_socket_check_listen;
	uint32_t mpo_socket_check_receive;
	uint32_t mpo_socket_check_received;
	uint32_t mpo_socket_check_select;
	uint32_t mpo_socket_check_send;
	uint32_t mpo_socket_check_stat;
	uint32_t mpo_socket_check_setsockopt;
	uint32_t mpo_socket_check_getsockopt;
	uint32_t mpo_socket_label_associate_accept;
	uint32_t mpo_socket_label_associate;
	uint32_t mpo_socket_label_copy;
	uint32_t mpo_socket_label_destroy;
	uint32_t mpo_socket_label_externalize;
	uint32_t mpo_socket_label_init;
	uint32_t mpo_socket_label_internalize;
	uint32_t mpo_socket_label_update;
	uint32_t mpo_socketpeer_label_associate_mbuf;
	uint32_t mpo_socketpeer_label_associate_socket;
	uint32_t mpo_socketpeer_label_destroy;
	uint32_t mpo_socketpeer_label_externalize;
	uint32_t mpo_socketpeer_label_init;
	uint32_t mpo_system_check_acct;
	uint32_t mpo_system_check_audit;
	uint32_t mpo_system_check_auditctl;
	uint32_t mpo_system_check_auditon;
	uint32_t mpo_system_check_host_priv;
	uint32_t mpo_system_check_nfsd;
	uint32_t mpo_system_check_reboot;
	uint32_t mpo_system_check_settime;
	uint32_t mpo_system_check_swapoff;
	uint32_t mpo_system_check_swapon;
	uint32_t mpo_socket_check_ioctl;
	uint32_t mpo_sysvmsg_label_associate;
	uint32_t mpo_sysvmsg_label_destroy;
	uint32_t mpo_sysvmsg_label_init;
	uint32_t mpo_sysvmsg_label_recycle;
	uint32_t mpo_sysvmsq_check_enqueue;
	uint32_t mpo_sysvmsq_check_msgrcv;
	uint32_t mpo_sysvmsq_check_msgrmid;
	uint32_t mpo_sysvmsq_check_msqctl;
	uint32_t mpo_sysvmsq_check_msqget;
	uint32_t mpo_sysvmsq_check_msqrcv;
	uint32_t mpo_sysvmsq_check_msqsnd;
	uint32_t mpo_sysvmsq_label_associate;
	uint32_t mpo_sysvmsq_label_destroy;
	uint32_t mpo_sysvmsq_label_init;
	uint32_t mpo_sysvmsq_label_recycle;
	uint32_t mpo_sysvsem_check_semctl;
	uint32_t mpo_sysvsem_check_semget;
	uint32_t mpo_sysvsem_check_semop;
	uint32_t mpo_sysvsem_label_associate;
	uint32_t mpo_sysvsem_label_destroy;
	uint32_t mpo_sysvsem_label_init;
	uint32_t mpo_sysvsem_label_recycle;
	uint32_t mpo_sysvshm_check_shmat;
	uint32_t mpo_sysvshm_check_shmctl;
	uint32_t mpo_sysvshm_check_shmdt;
	uint32_t mpo_sysvshm_check_shmget;
	uint32_t mpo_sysvshm_label_associate;
	uint32_t mpo_sysvshm_label_destroy;
	uint32_t mpo_sysvshm_label_init;
	uint32_t mpo_sysvshm_label_recycle;
	uint32_t mpo_proc_notify_exit;
	uint32_t mpo_mount_check_snapshot_revert;
	uint32_t mpo_vnode_check_getattr;
	uint32_t mpo_mount_check_snapshot_create;
	uint32_t mpo_mount_check_snapshot_delete;
	uint32_t mpo_vnode_check_clone;
	uint32_t mpo_proc_check_get_cs_info;
	uint32_t mpo_proc_check_set_cs_info;
	uint32_t mpo_iokit_check_hid_control;
	uint32_t mpo_vnode_check_access;
	uint32_t mpo_vnode_check_chdir;
	uint32_t mpo_vnode_check_chroot;
	uint32_t mpo_vnode_check_create;
	uint32_t mpo_vnode_check_deleteextattr;
	uint32_t mpo_vnode_check_exchangedata;
	uint32_t mpo_vnode_check_exec;
	uint32_t mpo_vnode_check_getattrlist;
	uint32_t mpo_vnode_check_getextattr;
	uint32_t mpo_vnode_check_ioctl;
	uint32_t mpo_vnode_check_kqfilter;
	uint32_t mpo_vnode_check_label_update;
	uint32_t mpo_vnode_check_link;
	uint32_t mpo_vnode_check_listextattr;
	uint32_t mpo_vnode_check_lookup;
	uint32_t mpo_vnode_check_open;
	uint32_t mpo_vnode_check_read;
	uint32_t mpo_vnode_check_readdir;
	uint32_t mpo_vnode_check_readlink;
	uint32_t mpo_vnode_check_rename_from;
	uint32_t mpo_vnode_check_rename_to;
	uint32_t mpo_vnode_check_revoke;
	uint32_t mpo_vnode_check_select;
	uint32_t mpo_vnode_check_setattrlist;
	uint32_t mpo_vnode_check_setextattr;
	uint32_t mpo_vnode_check_setflags;
	uint32_t mpo_vnode_check_setmode;
	uint32_t mpo_vnode_check_setowner;
	uint32_t mpo_vnode_check_setutimes;
	uint32_t mpo_vnode_check_stat;
	uint32_t mpo_vnode_check_truncate;
	uint32_t mpo_vnode_check_unlink;
	uint32_t mpo_vnode_check_write;
	uint32_t mpo_vnode_label_associate_devfs;
	uint32_t mpo_vnode_label_associate_extattr;
	uint32_t mpo_vnode_label_associate_file;
	uint32_t mpo_vnode_label_associate_pipe;
	uint32_t mpo_vnode_label_associate_posixsem;
	uint32_t mpo_vnode_label_associate_posixshm;
	uint32_t mpo_vnode_label_associate_singlelabel;
	uint32_t mpo_vnode_label_associate_socket;
	uint32_t mpo_vnode_label_copy;
	uint32_t mpo_vnode_label_destroy;
	uint32_t mpo_vnode_label_externalize_audit;
	uint32_t mpo_vnode_label_externalize;
	uint32_t mpo_vnode_label_init;
	uint32_t mpo_vnode_label_internalize;
	uint32_t mpo_vnode_label_recycle;
	uint32_t mpo_vnode_label_store;
	uint32_t mpo_vnode_label_update_extattr;
	uint32_t mpo_vnode_label_update;
	uint32_t mpo_vnode_notify_create;
	uint32_t mpo_vnode_check_signature;
	uint32_t mpo_vnode_check_uipc_bind;
	uint32_t mpo_vnode_check_uipc_connect;
	uint32_t mpo_proc_check_run_cs_invalid;
	uint32_t mpo_proc_check_suspend_resume;
	uint32_t mpo_thread_userret;
	uint32_t mpo_iokit_check_set_properties;
	uint32_t mpo_system_check_chud;
	uint32_t mpo_vnode_check_searchfs;
	uint32_t mpo_priv_check;
	uint32_t mpo_priv_grant;
	uint32_t mpo_proc_check_map_anon;
	uint32_t mpo_vnode_check_fsgetpath;
	uint32_t mpo_iokit_check_open;
	uint32_t mpo_proc_check_ledger;
	uint32_t mpo_vnode_notify_rename;
	uint32_t mpo_vnode_check_setacl;
	uint32_t mpo_vnode_notify_deleteextattr;
	uint32_t mpo_system_check_kas_info;
	uint32_t mpo_vnode_check_lookup_preflight;
	uint32_t mpo_vnode_notify_open;
	uint32_t mpo_system_check_info;
	uint32_t mpo_pty_notify_grant;
	uint32_t mpo_pty_notify_close;
	uint32_t mpo_vnode_find_sigs;
	uint32_t mpo_kext_check_load;
	uint32_t mpo_kext_check_unload;
	uint32_t mpo_proc_check_proc_info;
	uint32_t mpo_vnode_notify_link;
	uint32_t mpo_iokit_check_filter_properties;
	uint32_t mpo_iokit_check_get_property;
};

#endif /* sbops_h */
